﻿using Microsoft.Practices.Prism.Events;
using Tanmia.Basis.Core;

namespace Tanmia.Basis.ServiceInterface
{
    public class NavigationItemAddedEvent : CompositePresentationEvent<NavigationItem> { }

    /// <summary>
    /// Use to notify BrowserViewModel of T view to refresh the grid according the a modification which has done in the editor.
    /// </summary>
    /// <typeparam name="T">BusinessObject to refresh according it.</typeparam>
    public class BrowserRefreshEvent<T> : CompositePresentationEvent<T>
        where T : BaseBusinessObject
    { }

    /// <summary>
    /// Use to notify BrowserViewModel of T view to move to new CurrentItem.
    /// </summary>
    /// <typeparam name="T"></typeparam>
    //public class MoveRequestEvent : CompositePresentationEvent<MoveDirectionEnum> { }

    //public enum MoveDirectionEnum
    //{
    //    MoveToFirst,
    //    MoveToLast,
    //    MoveToNext,
    //    MoveToPrevious
    //}

    //public class MoveResponseEvent<T> : CompositePresentationEvent<CurrentInfo<T>>
    //    where T : BaseBusinessObject
    //{ }

    //public class CurrentInfo<T>
    //{
    //    public T Entity { get; set; }
    //    public bool IsCurrentAfterLast { get; set; }
    //    public bool IsCurrentBeforeFirst { get; set; }
    //}
}
